Graph drawing is a convenient and effective tool for visualizing relationship between data entities. By representing data entities as vertices and their fine-grained interconnections as edges, graph visualization provides users a quick and intuitive understanding of the data set. However, the effectiveness of graph visualization degrades as the size of a data set grows when there are too many vertices and edges to clearly visualize.
Once the amount of data becomes larger than some threshold, occlusion and data density become too high for an effective visualization. That is, the vertices and edges overlap extensively and therefore the user is overwhelmed by the volume of information, rather than being given a well-summarized understanding. Consequently, graph visualization has had limited success in visualizing very large data sets.
There have been some approaches to resolve the large graph visualization problem, most prominently pan-and-zoom, clustering/communities, and a hyperbolic fish eye. Pan and zoom is one way the user can explore large graphs, however the user sees just a part of the graph when zooming in, instead of getting an overview of all the information in the graph.
Traditionally, large graph visualization methods focus on visualizing each vertex and edge and may offer techniques to hide parts of the graph or summarize communities based on topology. Communities group vertices of a graph into sets, such that each set is densely connected internally. Each group/set can be visually distinguished (e.g. different color, size, shape), and the vertices that belong to a group can be visualized closer together. In the fish-eye view, the selected area is magnified and the surrounding areas are distorted (shrunk) to remain in view.
However, the best way to highlight interesting parts of a graph may be to hide the uninteresting (noisy) parts. Thus, filtration of vertices and edges is an important way to make graph visualization more meaningful. However, there may be too much or too little filtering, especially because goals of filtration tend to be specific to particular scenarios or analytic or demonstrative contexts. For example, even display screen size can affect how much filtering is optimal. Tuning (adjusting) for optimum filtration may be a manual and tediously iterative process. For example, tuning by trial and error may involve speculative tuning in search of improved filtration, and backtracking (undoing) if filtration does not improve.
Existing tooling lacks a concept of filtration history, which makes backtracking difficult and error prone. Without history and backtracking, there is an unfortunate disincentive against speculative and exploratory tuning of filters, which means that aesthetically optimal or semantically optimal filtration might not be achieved for a given graph.